Burst Cutting Area Code Extraction Method and Related Device

ABSTRACT

A method for extracting information in a data signal read from an area of an optical disc being recorded by a laser cutting process performed after the fabrication of the optical disc includes providing a first clock signal; sampling the data signal according to the first clock signal to thereby obtain a plurality of edge intervals expressed in cycles of the first clock, each edge interval corresponding to an interval between succeeding leading edges of the data signal; determining a leading edge interval according to the plurality of edge intervals; calculating a recovery period for data of the data signal being the leading edge interval divided by a division factor; and extracting the information in the data signal according to the recovery period.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a continuation-in-part of U.S. application Ser. No. 10/249,288, which was filed on 28 Mar. 2003 and is included herein by reference.

BACKGROUND

The present invention relates to an optical disc apparatus, and more specifically, to a method for using an optical disc apparatus to extract information recorded in a BCA (burst cutting area) or NBCA (narrow burst cutting area, or non-burst cutting area) on a surface of an optical disc.

A BCA is an area arranged on the inner periphery of an optical disc. A BCA-Code, which is a series of low reflectance stripes, is formed in the BCA. The BCA is formed on a disc using a laser cutting process after the fabrication of the disc. Thus, the manufacturer can record desired information, in the form of the BCA-Code, on the disc. For example, the serial number of the disc or anti-counterfeit information can be recorded to the disc. Similar to the BCA, the NBCA also performs the same function as the BCA and stores data in the same format.

Different Digital Versatile Disc (DVD) formats now take advantage of the BCA and NBCA for protecting content stored on the DVD. Specifically, the DVD-RAM format uses the BCA, and the DVD-R and DVD-RW formats both use the NBCA to store information. If content in the DVD-RAM, DVD-R, and DVD-RW formats is to be protected, each will use the Content Protection for Recordable Media (CPRM) to protect the data. The DVD-RAM format will store data in the BCA format for utilizing CPRM, and the DVD-R and DVD-RW formats will store data in the NBCA format for utilizing CPRM. A different protection standard called Content Protection for Prerecorded Media (CPPM) is used for the DVD-ROM format. The DVD-ROM may contain BCA-Code, but no BCA-Code information is needed for utilizing CPPM. As will be shown below, the data structures for BCA-Code and NBCA-Code are identical, so the following description will be limited to the BCA for simplicity.

Typically, information including a sync byte and resync bytes are recorded on the BCA of a disc. The sync byte is adapted to indicate the start point of the BCA. Only one sync byte exists in the entire portion of the BCA. Each of the sync byte and resync bytes includes a fixed sync pattern and a sync code.

Please refer to FIG. 1. FIG. 1 is a block diagram illustrating an optical disc drive 100 according to the prior art. Information recorded on the surface of an optical disc 110 is reproduced by an optical pickup 114. The optical pickup 114 optically picks up the information recorded on a data recording surface of the optical disc 110 rotating in accordance with a drive force from the spindle motor 112 and then converts the picked-up information into an electrical signal, namely, a radio frequency (RF) signal. The RF signal from the optical pickup 114 is applied to an RF amplifier unit 120. The optical pickup 114 moves radially between the inner and outer peripheries of the surface of the optical disc 110 in accordance with a drive force from a feeding motor 126. The RF amplifier unit 120 amplifies the RF signal from the optical pickup 114, and removes noise and distortion from the amplified signal through a waveform equalization circuit, thereby outputting a shaped RF signal. The shaped RF signal from the RF amplifier unit 120 is sent to an envelope detector and slicing unit 142, which transforms the RF signal from the BCA to a digitized signal BCA_RZ (BCA return-to-zero). The BCA_RZ signal is then sent to a BCA-Code processing unit 150 for extracting BCA-Code channel bits from the BCA_RZ signal and for performing sync and resync detection. This data is then sent to a BCA-Code decoding unit 144. The BCA-Code decoding unit 144 removes sync and resync bytes for extracting the data stored in the BCA-Code, performs phase encoded (PE) demodulation on the data, and performs an EDC or ECC check of the data contained in the BCA-Code. A DECODE_OK flag is sent to a microprocessor 140 for indicating the decoding status. Then, the data stored in the BCA-Code is stored in a dynamic random access memory (DRAM) 146.

A spindle motor control unit 128 controls rotation of the spindle motor 112. The spindle motor control unit 128 can operate under constant angular velocity (CAV) mode if the spindle motor 112 provides a feedback signal Fg to the spindle motor control unit 128, as will be explained below. If the feedback signal Fg is not provided to the spindle motor control unit 128, the spindle motor control unit 128 can operate under open loop mode by “kicking” the spindle motor 112 with a constant force when reading BCA-Code. The RF amplifier unit 120 also sends signals for focus and tracking servos, that is, a focus error signal FE and a tracking error signal TE, to a servo digital signal processor (DSP) 122. The servo DSP 122 applies control signals to a servo driving unit 124 for controlling a focus servo and a tracking servo, based on the focus error signal FE and tracking error signal TE, respectively. The servo driving unit 124 generates the drive voltages required to move the optical pickup 114, as well as to drive the tracking and focus servos, and applies the respective drive voltages to the optical pickup 114 and feeding motor 126, where the servos are located.

Please refer to FIG. 2. FIG. 2 is a diagram showing an example of a BCA_RZ signal train. BCA-Code information is stored in a series of channel bits, each representing a digital “1” or “0”. Period T, shown from time t2 to t3, represents a time width of one channel bit. In the BCA_RZ (BCA return-to-zero) format, channel bits representing a digital “1” have an initial value of “1” that returns to “0” before the end of a period of that bit. For example, at time t1, the BCA_RZ signal has a leading edge with a value of “1” that returns to “0” before the channel bit period ends at time t2. For channel bits representing a digital “0”, the BCA_RZ signal remains at “0” for the entire duration of the period of that bit. This is shown in channel bits ranging from time t2 to t3 and also from time t3 to t4. Therefore, FIG. 2 represents a BCA-Code of (1,0,0,1,0,0,0,1,1,0,1).

According to the specification of the BCA, T can be expressed in terms of a fixed clock CLKh that has a frequency Fh (in MHz) according to Eqn.1, $\begin{matrix} {T = \frac{8.89*{Fh}}{r}} & (1) \end{matrix}$

where r represents a rotation speed multiplier such as 2, 4, 8, etc, where the rotation speed is calculated as 24*r Hz, and where T is a time expressed in cycles of CLKh.

As can be seen in FIG. 2 from time t4 to t8, Tpp represents a time width between succeeding leading edges of the BCA_RZ signal. Also according to the BCA specification, Tpp can be expressed according to Eqn.2, $\begin{matrix} {{Tpp} = \frac{\left( {{8.89n} \pm 2} \right)*{Fh}}{r}} & (2) \end{matrix}$

where n is an integer with a value of 1, 2, 3, or 4, and where Tpp is also a time expressed in cycles of CLKh.

The integer n represents the number of channel bit widths between succeeding leading edges of the BCA_RZ signal. For example, from t1 to t4, n would have a value of 3, from t4 to t8, n would have a value of 4, from t8 to t9, n would have a value of 1, and from t9 to t11, n would have a value of 2.

Based on Eqn.2, a new quantity Tppmax is used to describe a maximum value of Tpp throughout the BCA_RZ signal train, as expressed according to Eqn.3, $\begin{matrix} {\frac{33.56*{Fh}}{r} \leq {Tppmax} \leq \frac{37.56*{Fh}}{r}} & (3) \end{matrix}$

wherein Tppmax is a time expressed in cycles of CLKh.

The formula shown in Eqn.3 is derived from Eqn.2 by setting n=4 and subtracting and adding the value of 2. As will be shown below, n can never be larger than 4, so the value of Tppmax is computed with n=4.

Please refer to FIG. 3 to FIG. 6. FIG. 3 and FIG. 4 illustrate tables of a recorded information state of the BCA. Recorded on the BCA are a sync byte, resync bytes, and a variety of information. The sync byte is denoted by SBBCA whereas each resync byte is denoted by RSBCA followed by a number from 1 to 15. FIG. 3 illustrates the configuration of the BCA. As shown, each piece of information recorded on the BCA is denoted by I, and C denotes an ECC parity. In FIG. 4, data structures of the sync byte and resync bytes, each of which consists of a fixed sync pattern and a sync code, are illustrated. In FIG. 3, the BCA has blocks each consisting of 16 information bytes designated as I. The BCA may have a maximum of 13 blocks. Each block of the BCA includes sub-blocks each containing 4 bytes of information. Every sub-block follows a resync byte. Accordingly, one information block consists of 4 resync bytes and 16 information bytes.

The sync byte is the first sync information indicative of the start position of the BCA. Accordingly, only one sync byte exists in the BCA. On the other hand, the resync byte is the second sync information adapted to provide a synchronization for 4 information bytes, for example, I₀, I₁, I₂, and I₃. As shown in FIG. 4, such a resync byte consists of a fixed sync pattern having a size of 8 channel bits and a sync code having a size of 4 data bits. The 8 channel bits are recorded with RZ (return-to-zero) modulation and the 4 data bits are recorded with PE-RZ (phase encoded return-to-zero) modulation, and actually contain two bits for every bit shown in FIG. 4. The fixed sync pattern is a particular pattern which is configured not to be detected from the general information area, but to be detected only from the sync and resync area. The sync code of each resync byte is a serial number allocated to an associated information block and adapted to distinguish the information block from other information blocks.

As shown in FIG. 4, the fixed pattern for channel bits is the same for the sync byte and resync bytes. In each of these sync and resync bytes, a (1,0,0,0,1) pattern is shown. Therefore, a period Tpp can be obtained from the sync and resync bytes in which the period between two successive leading edges would use the case of n=4, as seen in Eqn.2.

FIG. 5 and FIG. 6 illustrate tables of a recorded information state of the NBCA. Please note that the data structures for the BCA and the NBCA are identical, as shown in FIG. 3 to FIG. 6. Since the BCA and the NBCA have identical data structures, no further explanation will be given for the NBCA data structure.

SUMMARY OF THE INVENTION

It is therefore an objective of the claimed invention to provide a method for automatically recovering the time width T of one channel bit in order to read the BCA-Code quickly and easily.

According to an exemplary embodiment of the claimed invention, a method is disclosed for extracting information in a data signal read from an area of an optical disc being recorded by a laser cutting process performed after the fabrication of the optical disc. The method comprises providing a first clock signal; sampling the data signal according to the first clock signal to thereby obtain a plurality of edge intervals expressed in cycles of the first clock, each edge interval corresponding to an interval between succeeding leading edges of the data signal; determining a leading edge interval according to the plurality of edge intervals; calculating a recovery period for data of the data signal being the leading edge interval divided by a division factor; and extracting the information in the data signal according to the recovery period.

According to another exemplary embodiment of the claimed invention, an optical disc reproduction system capable of extracting information in a data signal read from an area of an optical disc being recorded by a laser cutting process performed after the fabrication of the optical disc is disclosed. The optical disc reproduction system comprises a clock signal generator for providing a first clock signal; an optical signal processing unit for picking up light reflected from the optical disc to thereby generate a data signal; a bit width recovery unit being coupled to the clock signal generator and the optical signal processing unit for sampling the data signal according to the first clock signal to thereby obtain a plurality of edge intervals expressed in cycles of the first clock, each edge interval corresponding to an interval between succeeding leading edges of the data signal; determining a leading edge interval according to the plurality of edge intervals; and calculating a recovery period for data of the data signal being the leading edge interval divided by a division factor; and an extraction unit for extracting the information in the data signal according to the recovery period.

It is an advantage of the claimed invention that the recovery period of the recovery clock can be calculated automatically and that the recovery clock can be used to extract the BCA-Code from the BCA of the optical disc. Thus, even for spindle motors that do not provide a feedback signal, the BCA-Code can quickly be read from the optical disc.

These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an optical disc drive according to the prior art.

FIG. 2 is a diagram showing an example of a BCA_RZ signal train.

FIG. 3 and FIG. 4 illustrate tables of a recorded information state of a BCA.

FIG. 5 and FIG. 6 illustrate tables of a recorded information state of a NBCA.

FIG. 7 is a BCA-Code processing unit according to the present invention.

FIG. 8A and FIG. 8B contain a flowchart illustrating extracting and decoding BCA-Code according to the present invention method.

FIG. 9A through FIG. 9H are timing diagrams illustrating BCA-Code extraction according to the present invention method.

FIG. 10A through FIG. 10H are timing diagrams illustrating BCA-Code extraction according to the present invention method.

FIG. 11 shows a flowchart describing a method of extracting information in a data signal read from an area of an optical disc being recorded by a laser cutting process performed after the fabrication of the optical disc according to another exemplary embodiment of the present invention.

DETAILED DESCRIPTION

The present invention provides a method of determining a proper BCA channel bit width to be used by an optical disc drive for extracting BCA-Code. Even if a spindle motor of the optical disc drive does not provide a feedback signal to a spindle motor control unit, the present invention method is still capable of determining the proper BCA channel bit width.

The present invention makes use of the fact that rotation speed of the spindle motor varies very little among several (such as three or four) consecutive revolutions. Please refer back to Eqns.1 to 3 above. Because Tppmax is about four times as large as T, the present invention sets T equal to Tppmax/4. Therefore, the present invention calculates Tppmax during first and second revolutions of the spindle motor, sets T equal to Tppmax/4, and uses this value of T for extracting and decoding BCA-Code.

Please refer to FIG. 7 with reference to FIG. 1. FIG. 7 is a BCA-Code processing unit 250 according to one embodiment of the present invention. All components in the optical disc drive 100 shown in FIG. 1 are used in the present invention except for the BCA-Code processing unit 150. With the exception of the BCA-Code processing unit 150, all other components will use the same reference numbers in the following description of the preferred embodiment. The BCA-Code processing unit 250 replaces the BCA-Code processing unit 150 of the prior art shown in FIG. 1.

The BCA-Code processing unit 250 in this embodiment contains a bit width recovery circuit 252, a control unit 254, a BCA extraction unit, a clock signal generator 257, and a sync/resync detection circuit 264. The BCA extraction unit includes an NRZ (non-return-to-zero) transformation circuit 258, an extraction clock generation circuit 260, and a BCA-Code extraction circuit 262.

The BCA-Code processing unit 250 contains the bit width recovery circuit 252 that receives a BCA_RZ (BCA return-to-zero) signal from the envelope detector and slicing unit 142 and a fixed clock CLKh that has a frequency Fh. The fixed clock CLKh is generated by the clock generator 257 to have a frequency being greater than a predetermined threshold to ensure that bits of the BCA_RZ signal can be sampled. That is, that no bits in the BCA_RZ signal will be missed. The bit width recovery circuit 252 analyzes the BCA_RZ signal and calculates a largest value of Tppmax expressed in cycles of the fixed clock CLKh. Then, the bit width recovery circuit 252 outputs a value of Tppmax/4 as Trvy, which is a period of a recovery clock expressed in cycles of the fixed clock CLKh used to extract BCA-Code from the BCA_RZ signal.

The control unit 254 receives commands from the microprocessor 140 of the optical disc drive 100 and controls operation of the BCA-Code processing unit 250. If the spindle motor 112 provides the feedback signal Fg to the spindle motor control unit 128, this signal is also sent to the microprocessor 140. Then, the microprocessor 140 provides this information to the control unit 254 in the form of a fixed clock period Tfix, which represents the period of the BCA channel bit width expressed in cycles of the fixed clock CLKh that may be used to extract BCA-Code from the BCA_RZ signal.

A multiplexer 256 is controlled by a selection signal T_SEL outputted from the control unit 254 to select between the recovery clock period Trvy and the fixed clock period Tfix. Therefore, if the rotation speed of the spindle motor 112 is known, T can be set equal to Tfix. If the rotation speed is not known or if extraction of BCA-Code is to be performed without this information, the recovery clock period Trvy can be used instead for extracting the BCA-Code.

Based on the value of T used, the NRZ (non-return-to-zero) transformation circuit 258 is used to transform the BCA_RZ signal into a BCA_NRZ signal. The extraction clock generation circuit 260 uses the BCA_RZ signal and the value of T, and creates an extracting clock signal CLKs that will be used for sampling the BCA_NRZ signal at a fixed time within each channel bit time division. Both the BCA_NRZ signal and the extracting clock signal CLKs are fed into the BCA-Code extraction circuit 262 for extracting BCA-Code channel bits BCA_CODE from the BCA_NRZ signal. The BCA-Code channel bits BCA_CODE is then sent to the sync/resync detection circuit 264 for detecting sync byte SBBCA and resync bytes RSBCAn in the BCA-Code channel bits BCA_CODE. The BCA-Code channel bits BCA_CODE is also sent to the BCA-Code decoding unit 144 for decoding the data stored in the BCA-Code. When the sync/resync detection circuit 264 detects the resync byte RSBCA15, it outputs an RSBCA15_found flag to the control unit 254 for helping to control the BCA-Code extraction process. That is, revolutions of the optical disc are detected according to the value of the information extracted from the BCA-Code. In addition, the sync/resync detection circuit 264 outputs a synchronization signal SYNC_INFO to the BCA-Code decoding unit 144 for helping to control the decoding process.

Please refer to FIG. 8A and FIG. 8B. FIG. 8A and FIG. 8B contain a flowchart illustrating extracting and decoding BCA-Code according to the present invention method. Steps contained in the flowchart will be explained below.

Step 300: Initialization; the BCA-Code processing unit 250 is ready for the BCA extraction and decoding process;

Step 302: Determine if a command starting the process of reading BCA data is received by the control unit 254 of the BCA-Code processing unit 250 from the microprocessor 140; if so, go to step 304; if not, go to step 300;

Step 304: The control unit 254 checks a FIX_T flag from the microprocessor 140 to determine if a fixed clock period Tfix is available for use in the BCA-Code extraction; if so, go to step 330; if not, the recovery clock period Trvy will be used, go to step 306;

Step 306: The control unit 254 initializes variables used in the BCA extraction process. A revolution counter Rev is used to keep track of how many revolutions the spindle motor 112 has made. The revolution counter Rev is initialized to 0. T is set equal to the recovery clock period Trvy, which is by default set to Tppmax1/4 and can be changed to any one of Tppmax2/4, Tppmax3/4, . . . Tppmaxk/4 by commands from the microprocessor 140. The Tppmax1, Tppmax2, . . . Tppmaxk are a set of variables used for storing maximum values of Tpp, and each represents the time width between succeeding leading edges of the BCA_RZ signals and is expressed in cycles of a fixed clock CLKh;

Step 308: The control unit 254 determines if a command from the microprocessor 140 is received for triggering operation of the bit width recovery circuit 252; if so, go to step 310; if not, go to step 306;

Step 310: Determine if a first leading edge of the BCA_RZ signal is detected; if so, go to step 312; if not, go to step 310;

Step 312: Initialize variables used for calculating the channel bit width. Tpp is set equal to 0. In addition, Tppmax1, Tppmax2, . . . Tppmaxk are all set equal to 0;

Step 314: The value of Tpp is calculated by measuring the time period between succeeding leading edges of the BCA_RZ signal;

Step 316: Determine if a flag RSBCA15_found is equal to 1, representing that the last resync byte has been detected; if so, go to step 326; if not, go to step 318;

Step 318: Determine if a second leading edge of the BCA_RZ signal is detected; if so, a new value of Tpp is calculated, go to step 320; if not, go to step 314;

Step 320: Determine if the new value of Tpp is larger than a predetermined width; if so, this new value of Tpp is erroneous, and is filtered out, go to step 324; if not, go to step 322;

Step 322: If necessary, the variables used for storing maximum values of Tpp including Tppmax1, Tppmax2, . . . Tppmaxk are updated. In this disclosure, the value of Tppmax1 represents the largest detected value of Tppmax, and Tppmax2 represents the second largest value, and so on. An algorithm is included below to show how the values of Tppmax1, Tppmax2, . . . Tppmaxk are updated. if (Tpp >= Tppmax1) { Tppmaxk = Tppmaxk⁻¹; ... ... ... Tppmax2 = Tppmax1; Tppmax1 = Tpp; //Tppmax1 and all lower values are updated } else if (Tpp >= Tppmax2) { Tppmaxk = Tppmaxk⁻¹; ... ... ... Tppmax3 = Tppmax2; Tppmax2 = Tpp; //Tppmax2 and all lower values are updated } ... ... ... ... ... ... else if (Tpp >= Tppmaxk) { Tppmaxk = Tpp; //Only Tppmaxk is updated } else { Tppmax1 = Tppmax1; Tppmax2 = Tppmax2; ... ... ... Tppmaxk = Tppmaxk; //No values changed (these steps are optional) }

Step 324: Since the values of Tppmax1, Tppmax2, Tppmaxk have already been updated with the new value of Tpp, Tpp is then initialized back to 0; go to step 314;

Step 326: Determine if the revolution counter Rev is equal to 1. If so, the RSBCA15_found flag has already been found equal to 1 for the first and second revolutions of the spindle motor 112. This indicates the whole BCA has been traversed and the recovery clock period Trvy is set equal to one of Tppmax1/4, Tppmax2/4, . . . Tppmaxk/4 and BCA-Code extraction and decoding will be performed using T=Trvy, go to step 334. If not, the RSBCA15_found flag has only been found equal to 1 for the first revolution of the spindle motor 112, go to step 328;

Step 328: Increment the revolution counter Rev by 1, go to step 310;

Step 330: Since a fixed clock period Tfix expressed in cycles of the fixed clock CLKh is available, T is set equal to Tfix for performing the BCA decoding;

Step 332: The control unit 254 determines if a command from the microprocessor 140 has been received instructing the start of the BCA decoding process; if so, go to step 334; if not, go to step 330;

Step 334: The bit width recovery circuit 252 is disabled. The BCA-Code is extracted and the BCA-Code decoding unit 144 is enabled to decode BCA-Code using the appropriate value of T, where the value of T is set to either Trvy or Tfix;

Step 336: The microprocessor 140 determines if a confirmation signal DECODE_OK is received from the BCA-Code decoding unit 144; if so, the BCA decoding process was successful, go to step 300; if not, go to step 338; and

Step 338: Determine if a predetermined time has elapsed; if so, there was a problem with decoding the BCA-Code, go to step 300; if not, continue to decoding the BCA-Code, go to step 334;

As shown above, the present invention method can decode BCA-Code using either a fixed clock period Tfix that is provided through the feedback signal Fg from the spindle motor 112 or through the recovery clock period Trvy that is calculated by the bit width recovery circuit 252. Therefore, even if the optical disc drive 100 includes a spindle motor 112 that does not provide the feedback signal Fg, the present invention method can still quickly and efficiently extract and decode the BCA-Code from the optical disc 110. If the recovery clock period Trvy is calculated by the BCA-Code processing unit 250, accuracy of the value of Trvy is ensured by recognizing the sync and resync bytes twice and by twice reading the RSBCA15_found flag in step 316.

As noted above, the present invention sets T=Trvy, where Trvy is a value between 8.39*Fh/r and 9.39*Fh/r when the bit width recovery process finished, according to the BCA specification. The following explanation will prove that any chosen value of Trvy between these upper and lower boundary values is capable of being used to extract and decode the BCA-Code.

Trvy is always updated in the bit width recovery process. The NRZ transformation circuit 258, extraction clock generation circuit 260, BCA-CODE extraction circuit 262 and sync/resync detection circuit 264 all operate according to the newest Trvy while the bit width recovery process is performed. Therefore the RSBCA15_found flag can be set to the value of 1 and indicate a proper Trvy has been found once Trvy is equal to a value between 8.39*Fh/r and 9.39*Fh/r in the bit width recovery process.

Please refer to FIG. 9A through FIG. 9H. FIG. 9A through FIG. 9H are timing diagrams illustrating BCA-Code extraction method according to the preferred embodiment. Referring back to Eqn.2 and Eqn.3 above, assume that Fh/r is set equal to 1. Therefore, Tppmax is a value between 33.56 and 37.56 cycles of CLKh, and Trvy is a value between 8.39 and 9.39 cycles of CLKh. FIG. 9A through FIG. 9H show cases in which T=Trvy=8.39 cycles of CLKh. For situations in which n=1, 2, 3, and 4, all extreme cases will be used to prove that the present invention is capable of extracting BCA-Code using the recovery clock period Trvy. The dotted lines represent the BCA_NRZ signal that is created by transferring the BCA_RZ to NRZ format based on Trvy. As an example, the following diagrams show samples being taken halfway through a period of the recovery clock period Trvy. It should be noted, however, that the present invention could also correctly sample at other times within the recovery clock period Trvy. For simplicity, all times mentioned will be expressed as cycles of CLKh, and units will not be specified.

As illustrated in FIG. 9A, a case in which n=1 is shown with Tpp=8.89−2=6.89. A first leading edge is detected at time=0. Since T=8.39, a sample will then be taken at 8.39/2=4.195. Therefore, the extraction clock generation circuit 260 outputs a sampling clock signal CLKs so that a first sample is taken at time=4.195, and a value of “1” is detected for the BCA-Code. Next, another leading edge is detected at time=6.89. Therefore, the extraction clock generation circuit 260 outputs another sampling clock signal CLKs at time=6.89+8.39/2=11.085. This second sample detects a value of “1” for the BCA-Code. Thus, a pattern of (1, 1) is extracted from the BCA-Code.

As illustrated in FIG. 9B, a case in which n=1 is shown with Tpp=8.89+2=10.89. A first leading edge is detected at time=0. Since T=8.39, a sample will then be taken at 8.39/2=4.195, and a value of “1” is detected for the BCA-Code. Next, another leading edge is detected at time=10.89. However, in the preferred embodiment instead of taking another sample at time=8.39+8.39/2=12.585, the extraction clock generation circuit 260 resets the generation time of the next sampling clock signal CLKs outputted, and instead outputs the next sampling clock signal CLKs at time=10.89+8.39/2=15.085. Therefore, a value of “1” is detected for the BCA-Code. Thus, a pattern of (1, 1) is extracted from the BCA-Code.

As illustrated in FIG. 9C, a case in which n=2 is shown with Tpp=8.89*2−2=15.78. A first leading edge is detected at time=0. Since T=8.39, a sample will then be taken at 8.39/2=4.195, and a value of “1” is detected for the BCA-Code. Then, another sample is taken at time=4.195+8.39=12.585, and a value of “0” is detected for the BCA-Code. Next, another leading edge is detected at time=15.78. Therefore, the extraction clock generation circuit 260 outputs another sampling clock signal CLKs at time=15.78+8.39/2=19.975. This sample detects a value of “1” for the BCA-Code. Thus, a pattern of (1, 0, 1) is extracted from the BCA-Code.

As illustrated in FIG. 9D, a case in which n=2 is shown with Tpp=8.89*2+2=19.78. A first leading edge is detected at time=0. Since T=8.39, a sample will then be taken at 8.39/2=4.195, and a value of “1” is detected for the BCA-Code. Then, another sample is taken at time=4.195+8.39=12.585, and a value of “0” is detected for the BCA-Code. Next, another leading edge is detected at time=19.78. Also in the preferred embodiment, instead of taking another sample at time=12.585+8.39=20.975, the extraction clock generation circuit 260 resets the generation time of the next sampling clock signal CLKs outputted, and instead outputs the next sampling clock signal CLKs at time=19.78+8.39/2=23.975. Therefore, a value of “1” is detected for the BCA-Code. Thus, a pattern of (1, 0, 1) is extracted from the BCA-Code.

As illustrated in FIG. 9E, a case in which n=3 is shown with Tpp=8.89*3−2=24.67. A first leading edge is detected at time=0. Since T=8.39, a sample will then be taken at 8.39/2=4.195, and a value of “1” is detected for the BCA-Code. Then, another sample is taken at time=4.195+8.39=12.585, and a value of “0” is detected for the BCA-Code. Then, another sample is taken at time=12.585+8.39=20.975, and a value of “0” is detected for the BCA-Code. Next, another leading edge is detected at time=24.67. Therefore, the extraction clock generation circuit 260 outputs another sampling clock signal CLKs at time=24.67+8.39/2=28.865. This sample detects a value of “1” for the BCA-Code. Thus, a pattern of (1, 0, 0, 1) is extracted from the BCA-Code.

As illustrated in FIG. 9F, a case in which n=3 is shown with Tpp=8.89*3+2=28.67. A first leading edge is detected at time=0. Since T=8.39, a sample will then be taken at 8.39/2=4.195, and a value of “1” is detected for the BCA-Code. Then, another sample is taken at time=4.195+8.39=12.585, and a value of “0” is detected for the BCA-Code. Then, another sample is taken at time=12.585+8.39=20.975, and a value of “0” is detected for the BCA-Code. Next, another leading edge is detected at time=28.67. Also in the preferred embodiment, instead of taking another sample at time=20.975+8.39=29.365, the extraction clock generation circuit 260 resets the generation time of the next sampling clock signal CLKs outputted, and instead outputs the next sampling clock signal CLKs at time=28.67+8.39/2=32.865. Therefore, a value of “1” is detected for the BCA-Code. Thus, a pattern of (1, 0, 0, 1) is extracted from the BCA-Code.

As illustrated in FIG. 9G, a case in which n=4 is shown with Tpp=8.89*4−2=33.56. A first leading edge is detected at time=0. Since T=8.39, a sample will then be taken at 8.39/2=4.195, and a value of “1” is detected for the BCA-Code. Then, another sample is taken at time=4.195+8.39=12.585, and a value of “0” is detected for the BCA-Code. Then, another sample is taken at time=12.585+8.39=20.975, and a value of “0” is detected for the BCA-Code. Again, another sample is taken at time=20.975+8.39=29.365, and a value of “0” is detected for the BCA-Code. Next, another leading edge is detected at time=33.56. Therefore, the extraction clock generation circuit 260 outputs another sampling clock signal CLKs at time=33.56+8.39/2=37.755. This sample detects a value of “1” for the BCA-Code. Thus, a pattern of (1, 0, 0, 0, 1) is extracted from the BCA-Code.

As illustrated in FIG. 9H, a case in which n=4 is shown with Tpp=8.89*4+2=37.56. A first leading edge is detected at time=0. Since T=8.39, a sample will then be taken at 8.39/2=4.195, and a value of “1” is detected for the BCA-Code. Then, another sample is taken at time=4.195+8.39=12.585, and a value of “0” is detected for the BCA-Code. Then, another sample is taken at time=12.585+8.39=20.975, and a value of “0” is detected for the BCA-Code. Again, another sample is taken at time=20.975+8.39=29.365, and a value of “0” is detected for the BCA-Code. Next, another leading edge is detected at time=37.56. Also in the preferred embodiment, instead of taking another sample at time=29.365+8.39=37.755, the extraction clock generation circuit 260 resets the generation time of the next sampling clock signal CLKs outputted, and instead outputs the next sampling clock signal CLKs at time=37.56+8.39/2=41.755. Therefore, a value of “1” is detected for the BCA-Code. Thus, a pattern of (1, 0, 0, 0, 1) is extracted from the BCA-Code.

As seen in FIG. 9A through FIG. 9H, even if a value of the recovery clock period Trvy used for T is at the lower boundary of the BCA specification, proper BCA extraction can occur. In each of the cases, all data bits in the BCA-Code were extracted correctly with the present invention method.

Please refer to FIG. 10A through FIG. 10H. FIG. 10A through FIG. 10H are timing diagrams illustrating BCA-Code extraction method according to the preferred embodiment. FIG. 10A through FIG. 10H show cases in which T=Trvy=9.39 cycles of the fixed clock CLKh.

As illustrated in FIG. 10A, a case in which n=1 is shown with Tpp=8.89−2=6.89. A first leading edge is detected at time=0. Since T=9.39, a sample will then be taken at 9.39/2=4.695. Therefore, the extraction clock generation circuit 260 outputs a sampling clock signal CLKs so that a first sample is taken at time=4.695, and a value of “1” is detected for the BCA-Code. Next, another leading edge is detected at time=6.89. Therefore, the extraction clock generation circuit 260 outputs another sampling clock signal CLKs at time=6.89+9.39/2=11.585. This second sample detects a value of “1” for the BCA-Code. Thus, a pattern of (1, 1) is extracted from the BCA-Code.

As illustrated in FIG. 10B, a case in which n=1 is shown with Tpp=8.89+2=10.89. A first leading edge is detected at time=0. Since T=9.39, a sample will then be taken at 9.39/2=4.695, and a value of “1” is detected for the BCA-Code. Next, another leading edge is detected at time=10.89. In this embodiment, instead of taking another sample at time=9.39+9.39/2=14.085, the extraction clock generation circuit 260 resets the generation time of the next sampling clock signal CLKs outputted, and instead outputs the next sampling clock signal CLKs at time=10.89+9.39/2=15.585. Therefore, a value of “1” is detected for the BCA-Code. Thus, a pattern of (1, 1) is extracted from the BCA-Code.

As illustrated in FIG. 10C, a case in which n=2 is shown with Tpp=8.89*2−2=15.78. A first leading edge is detected at time=0. Since T=9.39, a sample will then be taken at 9.39/2=4.695, and a value of “1” is detected for the BCA-Code. Then, another sample is taken at time=4.695+9.39=14.085, and a value of “0” is detected for the BCA-Code. Next, another leading edge is detected at time=15.78. Therefore, the extraction clock generation circuit 260 outputs another sampling clock signal CLKs at time=15.78+9.39/2=20.475. This sample detects a value of “1” for the BCA-Code. Thus, a pattern of (1, 0, 1) is extracted from the BCA-Code.

As illustrated in FIG. 10D, a case in which n=2 is shown with Tpp=8.89*2+2 =19.78. A first leading edge is detected at time=0. Since T=9.39, a sample will then be taken at 9.39/2=4.695, and a value of “1” is detected for the BCA-Code. Then, another sample is taken at time=4.695+9.39=14.085, and a value of “0” is detected for the BCA-Code. Next, another leading edge is detected at time=19.78.Also in this embodiment, instead of taking another sample at time=14.085+9.39=23.475, the extraction clock generation circuit 260 resets the generation time of the next sampling clock signal CLKs outputted, and instead outputs the next sampling clock signal CLKs at time=19.78+9.39/2=24.475. Therefore, a value of “1” is detected for the BCA-Code. Thus, a pattern of (1, 0, 1) is extracted from the BCA-Code.

As illustrated in FIG. 10E, a case in which n=3 is shown with Tpp=8.89*3−2=24.67. A first leading edge is detected at time=0. Since T=9.39, a sample will then be taken at 9.39/2=4.695, and a value of “1” is detected for the BCA-Code. Then, another sample is taken at time=4.695+9.39=14.085, and a value of “0” is detected for the BCA-Code. Then, another sample is taken at time=14.085+9.39=23.475, and a value of “0” is detected for the BCA-Code. Next, another leading edge is detected at time=24.67. Therefore, the extraction clock generation circuit 260 outputs another sampling clock signal CLKs at time=24.67+9.39/2=29.365. This sample detects a value of “1” for the BCA-Code. Thus, a pattern of (1, 0, 0, 1) is extracted from the BCA-Code.

As illustrated in FIG. 10F, a case in which n=3 is shown with Tpp=8.89*3+2=28.67. A first leading edge is detected at time=0. Since T=9.39, a sample will then be taken at 9.39/2=4.695, and a value of “1” is detected for the BCA-Code. Then, another sample is taken at time=4.695+9.39=14.085, and a value of “0” is detected for the BCA-Code. Then, another sample is taken at time=14.085+9.39=23.475, and a value of “0” is detected for the BCA-Code. Next, another leading edge is detected at time=28.67. Also in this embodiment, instead of taking another sample at time=23.475+9.39=32.865, the extraction clock generation circuit 260 resets the generation time of the next sampling clock signal CLKs outputted, and instead outputs the next sampling clock signal CLKs at time=28.67+9.39/2=33.365. Therefore, a value of “1” is detected for the BCA-Code. Thus, a pattern of (1, 0, 0, 1) is extracted from the BCA-Code.

As illustrated in FIG. 10G, a case in which n=4 is shown with Tpp=8.89*4−2=33.56. A first leading edge is detected at time=0. Since T=9.39, a sample will then be taken at 9.39/2=4.695, and a value of “1” is detected for the BCA-Code. Then, another sample is taken at time=4.695+9.39=14.085, and a value of “0” is detected for the BCA-Code. Then, another sample is taken at time=14.085+9.39=23.475, and a value of “0” is detected for the BCA-Code. Again, another sample is taken at time=23.475+9.39=32.865, and a value of “0” is detected for the BCA-Code. Next, another leading edge is detected at time=33.56. Therefore, the extraction clock generation circuit 260 outputs another sampling clock signal CLKs at time=33.56+9.39/2=38.255. This sample detects a value of “1” for the BCA-Code. Thus, a pattern of (1, 0, 0, 0, 1) is extracted from the BCA-Code.

As illustrated in FIG. 10H, a case in which n=4 is shown with Tpp=8.89*4+2=37.56. A first leading edge is detected at time=0. Since T=9.39, a sample will then be taken at 9.39/2=4.695, and a value of “1” is detected for the BCA-Code. Then, another sample is taken at time=4.695+9.39=14.085, and a value of “0” is detected for the BCA-Code. Then, another sample is taken at time=14.085+9.39=23.475, and a value of “0” is detected for the BCA-Code. Again, another sample is taken at time=23.475+9.39=32.865, and a value of “0” is detected for the BCA-Code. Next, another leading edge is detected at time=37.56. In this case, the extraction clock generation circuit 260 does not need to reset the generation time of the next sampling clock signal CLKs outputted. Therefore, the next sampling clock signal CLKs is outputted at time=32.865+9.39=42.255, Therefore, a value of “1” is detected for the BCA-Code. Thus, a pattern of (1, 0, 0, 0, 1) is extracted from the BCA-Code.

As seen in FIG. 10A through FIG. 10H, even if a value of the recovery clock period Trvy used for T is at the upper boundary of the BCA specification, proper BCA extraction can occur. In each of the cases, all data bits in the BCA-Code were extracted correctly with the present invention method.

FIG. 9A through FIG. 10H show that if T is set to any value of Trvy between 8.39*Fh/r and 9.39*Fh/r cycles of CLKh, proper BCA extraction can occur. Therefore, if Tfix were used instead of Trvy for the value of T, as long as Tfix is in this range, Tfix can also be used for BCA extraction.

FIG. 11 shows a flowchart describing a method of extracting information in a data signal read from an area of an optical disc being recorded by a laser cutting process performed after the fabrication of the optical disc according to another exemplary embodiment of the present invention. For example the area could be a BCA or NBCA area of the optical disc. Provided that substantially the same result is achieved, the steps of the flowchart shown in FIG. 11 need not be in the exact order shown and need not be contiguous, that is, other steps can be intermediate. According to this embodiment, the method comprises the following steps:

Step 1100: Provide a first clock signal CLKh. In this embodiment, the first clock signal CLKh should have a substantially fixed frequency being sufficient to sample the bits of the data signal read from the area of the optical disc.

Step 1110: Sample the data signal according to the first clock signal CLKh to thereby obtain a plurality of edge intervals Tpp expressed in cycles of the first clock, each edge interval Tpp corresponding to an interval between succeeding leading edges of the data signal.

Step 1112: Determine an optimum leading edge interval Tppopt according to the plurality of edge intervals.

Step 1114: Calculate a recovery period T for data of the data signal being the optimum leading edge interval divided by a division factor. (i.e., Tppopt/Div. Factor)

Step 1116: Extract the information in the data signal according to the recovery period.

In the previous embodiments, step 1112 involved choosing the longest edge interval, which indicates the time interval between the two leading edges corresponding to the 4T period between the two 1 s in the sync and resync bytes of the BCA-code. However, other embodiments are also possible. Because there are many different sync and resync bytes that will be detected, any of the longer edge intervals will probably correspond to the 4T period between the two 1 s. Each of these 4T periods may be slightly different in value but will be similar. Therefore, in step 1112, the optimum leading edge interval Tppopt can be determined as any of the longer edge intervals since this will most likely correspond to a 4T period. Moreover, if these longer edge intervals are saved as Tppmax1, Tppmax2, Tppmax3 . . . , and Tppmaxk, where Tppmax1 is the longest edge interval and Tppmax1>=Tppmax2>=Tppmax3>=. . . >=Tppmaxk, in step 1112, the optimum leading edge interval Tppopt can be determined as some arithmetic combination of these parameters. One feasible embodiment is letting Tppopt be equal to (Tppmax1+Tppmax2)/2, if at least two sync and resync bytes are detected. This leads to a more tolerant value of the optimum leading edge interval Tppopt.

In order to increase the accuracy, in the previous embodiments, the plurality of edge intervals Tpp are taken for two revolutions of the optical disc. However, it should also be noted that in a simple implementation of the above method, the plurality of edge intervals Tpp may only be taken from a partial revolution of the optical disc. The above method of extracting information from the BCA area will properly determine the time period T as long as at least one sync or resync byte having a leading edge interval 4T is detected.

As mentioned above, BCA-Code and NBCA-Code have essentially the same format. Therefore, the present invention is not limited to extracting BCA-Code, but can also be used for extracting NBCA-Code with the method described above. It should be noted that the term “cutting area (CA)” or “cutting area code (CA code)” is to be construed as an area having the general properties described in the embodiment, and shall not preclude other areas or codes having the properties of a CA described herein from being construed as an equivalent of a CA. 

1. A method for extracting information in a data signal read from an area of an optical disc being recorded by a laser cutting process performed after the fabrication of the optical disc, the method comprising: providing a first clock signal; sampling the data signal according to the first clock signal to thereby obtain a plurality of edge intervals expressed in cycles of the first clock, each edge interval corresponding to an interval between succeeding leading edges of the data signal; determining a leading edge interval according to the plurality of edge intervals; calculating a recovery period for data of the data signal being the leading edge interval divided by a division factor; and extracting the information in the data signal according to the recovery period.
 2. The method of claim 1, wherein determining the leading edge interval comprises choosing a longest edge interval from the plurality of edge intervals as the leading edge interval.
 3. The method of claim 1, wherein determining the leading edge interval comprises performing an arithmetic combination on the plurality of edge intervals.
 4. The method of claim 3, wherein determining the leading edge interval comprises calculating an average value of a subset of the plurality of edge intervals.
 5. The method of claim 4, further comprising calculating the leading edge interval as the average value of the two longest edge intervals if at least two sync and resync bytes received in the data signal are detected.
 6. The method of claim 1, further comprising obtaining the plurality of edge intervals during a first revolution of the optical disc.
 7. The method of claim 6, further comprising detecting revolutions of the optical disc according to a value of the information extracted from the data signal.
 8. The method of claim 7, further comprising obtaining the plurality of edge intervals during a plurality of revolutions of the optical disc.
 9. The method of claim 1, wherein the first clock signal has a frequency being greater than a predetermined threshold.
 10. The method of claim 9, wherein the frequency of the first clock signal is substantially fixed.
 11. The method of claim 1, wherein the area of the optical disc being recorded by the laser cutting process performed after the fabrication of the optical disc is a burst cutting area (BCA) or a narrow burst cutting area (NBCA).
 12. An optical disc reproduction system capable of extracting information in a data signal read from an area of an optical disc being recorded by a laser cutting process performed after the fabrication of the optical disc, the optical disc reproduction system comprising: a clock signal generator for providing a first clock signal; an optical signal processing unit for picking up light reflected from the optical disc to thereby generate a data signal; a bit width recovery unit being coupled to the clock signal generator and the optical signal processing unit for sampling the data signal according to the first clock signal to thereby obtain a plurality of edge intervals expressed in cycles of the first clock, each edge interval corresponding to an interval between succeeding leading edges of the data signal; determining a leading edge interval according to the plurality of edge intervals; and calculating a recovery period for data of the data signal being the leading edge interval divided by a division factor; and an extraction unit for extracting the information in the data signal according to the recovery period.
 13. The optical disc reproduction system of claim 12, wherein the bit width recovery unit is further for determining the leading edge interval by choosing a longest edge interval from the plurality of edge intervals as the leading edge interval.
 14. The optical disc reproduction system of claim 12, wherein the bit width recovery unit is further for determining the leading edge interval by performing an arithmetic combination on the plurality of edge intervals.
 15. The optical disc reproduction system of claim 14, wherein the bit width recovery unit is further for determining the leading edge interval by calculating an average value of a subset of the plurality of edge intervals.
 16. The optical disc reproduction system of claim 15, wherein the bit width recovery unit is further for calculating the leading edge interval as the average value of the two longest edge intervals if at least two sync and resync bytes received in the data signal are detected.
 17. The optical disc reproduction system of claim 12, further comprising a motor for rotating the optical disc; wherein the bit width recovery unit is further for obtaining the plurality of edge intervals during a first revolution of the optical disc.
 18. The optical disc reproduction system of claim 17, further comprising a control unit being coupled to the extraction unit for detecting revolutions of the optical disc according to a value of the information extracted from the data signal.
 19. The optical disc reproduction system of claim 18, wherein the bit width recovery unit is further for obtaining the plurality of edge intervals during a plurality of revolutions of the optical disc.
 20. The optical disc reproduction system of claim 12, wherein the first clock signal has a frequency being greater than a predetermined threshold.
 21. The optical disc reproduction system of claim 20, wherein the frequency of the first clock signal is substantially fixed.
 22. The optical disc reproduction system of claim 12, wherein the area of the optical disc being recorded by the laser cutting process performed after the fabrication of the optical disc is a burst cutting area (BCA) or a narrow burst cutting area (NBCA). 